package com.kaifamiao.strings;

/**
 * 理解 String 类的设计
 */
public class UnderstandDesign {

    public static void main(String[] args) {
        // 声明一个 String 类型的引用变量 (也被称作字符串变量)
        String s ;
        // Java程序中的所有字符串字面值都作为String类的实例实现
        // 说人话: Java程序中所有的 双引号 引起来的内容统统都是 String实例
        s = "kaifamiao";
        System.out.println( System.identityHashCode( s ) );

        // 所有的字符串字面量都属于字符串常量
        String x = "kaifamiao";
        System.out.println( System.identityHashCode( x ) );

        System.out.println( s == x ); // true
        System.out.println( s.equals( x ) ); // true

        String t = new String( "kaifamiao" );
        System.out.println( t == x ); // false
        System.out.println( t.equals( x ) );

    }

}
